
👉原始文件下载
点击下方直接跳转!
CS229 线性代数
为什么要学习线性代数?或者说为什么学ML要学好线代呢?
线性虽然不多见于现实应用之中,但是很多非线性的函数,我们可以转化为线性,所以线代能拓展的空间太广泛了,对于大家来说,我觉得最应该掌握的就是向量和矩阵的基本运算和属性。
大家着重下面几个概念的学习
线性代数是数学中最基础却极其重要的一门学科,因为任何科学领域都绕不过线性代数,
线性代数复习和参考
1. 基础概念和符号
线性代数提供了一种紧凑地表示和操作线性方程组的方法。 例如,以下方程组:
这是两个方程和两个变量,正如你从高中代数中所知,你可以找到 和 的唯一解(除非方程以某种方式退化,例如,如果第二个方程只是第一个的倍数,但在上面的情况下,实际上只有一个唯一解)。 在矩阵表示法中,我们可以更紧凑地表达:
我们可以看到,这种形式的线性方程有许多优点(比如明显地节省空间)。
1.1 基本符号
我们使用以下符号:
- ,表示 为由实数组成具有行和列的矩阵。
- ,表示具有个元素的向量。 通常,向量将表示列向量: 即,具有行和列的矩阵。 如果我们想要明确地表示行向量: 具有 行和列的矩阵 - 我们通常写(这里的转置)。
- 表示向量的第个元素
- 我们使用符号 (或,等)来表示第 行和第列中的 的元素:
- 在许多情况下,将矩阵视为列向量或行向量的集合非常重要且方便。 通常,在向量而不是标量上操作在数学上(和概念上)更清晰。只要明确定义了符号,用于矩阵的列或行的表示方式并没有通用约定。
2.矩阵乘法
两个矩阵相乘,其中 and ,则:
其中:
请注意,为了使矩阵乘积存在,中的列数必须等于中的行数。有很多方法可以查看矩阵乘法,我们将从检查一些特殊情况开始。
2.1 向量-向量乘法
给定两个向量,通常称为向量内积或者点积,结果是个实数。
注意: 始终成立。
给定向量 , (他们的维度是否相同都没关系),叫做向量外积 , 当 的时候,它是一个矩阵。
举一个外积如何使用的一个例子:让表示一个维向量,其元素都等于1,此外,考虑矩阵,其列全部等于某个向量 。 我们可以使用外积紧凑地表示矩阵 :
2.2 矩阵-向量乘法
给定矩阵 ,向量 , 它们的积是一个向量 。 有几种方法可以查看矩阵向量乘法,我们将依次查看它们中的每一种。
如果我们按行写,那么我们可以表示为:
换句话说,第个是的第行和的内积,即:。
同样的, 可以把 写成列的方式,则公式如下:
换句话说,是的列的线性组合,其中线性组合的系数由的元素给出。
到目前为止,我们一直在右侧乘以列向量,但也可以在左侧乘以行向量。 这是写的, 表示,,。 和以前一样,我们可以用两种可行的方式表达,这取决于我们是否根据行或列表达.
第一种情况,我们把用列表示:
这表明的第个元素等于和的第列的内积。
最后,根据行表示,我们得到了向量-矩阵乘积的最终表示:
所以我们看到是的行的线性组合,其中线性组合的系数由的元素给出。
2.3 矩阵-矩阵乘法
有了这些知识,我们现在可以看看四种不同的(形式不同,但结果是相同的)矩阵-矩阵乘法:也就是本节开头所定义的的乘法。
首先,我们可以将矩阵 - 矩阵乘法视为一组向量-向量乘积。 从定义中可以得出:最明显的观点是的,元素等于的第行和的的列的内积。如下面的公式所示:
这里的 ,, ,, 这里的, , ,,所以它们可以计算内积。 我们用通常用行表示而用列表示。
或者,我们可以用列表示,用行表示,这时是求外积的和。公式如下:
换句话说,等于所有的的第列和第行的外积的和。因此,在这种情况下, 和, 外积的维度是,与的维度一致。
其次,我们还可以将矩阵 - 矩阵乘法视为一组矩阵向量积。如果我们把用列表示,我们可以将的列视为和的列的矩阵向量积。公式如下:
这里的第列由矩阵向量乘积给出,右边的向量为。 这些矩阵向量乘积可以使用前一小节中给出的两个观点来解释。
最后,我们有类似的观点,我们用行表示,的行作为和行之间的矩阵向量积。公式如下:
这里第行的由左边的向量的矩阵向量乘积给出:
将矩阵乘法剖析到如此大的程度似乎有点过分,特别是当所有这些观点都紧跟在我们在本节开头给出的初始定义(在一行数学中)之后。
这些不同方法的直接优势在于它们允许您在向量的级别/单位而不是标量上进行操作。 为了完全理解线性代数而不会迷失在复杂的索引操作中,关键是要用尽可能多的概念进行操作。
实际上所有的线性代数都处理某种矩阵乘法,花一些时间对这里提出的观点进行直观的理解是非常必要的。
除此之外,了解一些更高级别的矩阵乘法的基本属性是很有必要的:
- 矩阵乘法结合律:
- 矩阵乘法分配律:
- 矩阵乘法通常不是可交换的; 也就是说,通常。 (例如,假设, ,如果和不相等,矩阵乘积甚至不存在!)
如果您不熟悉这些属性,请花点时间自己验证它们。 例如,为了检查矩阵乘法的相关性,假设, ,。 注意,所以。 类似地,,所以。 因此,所得矩阵的维度一致。 为了表明矩阵乘法是相关的,足以检查的第个元素是否等于的第个元素。 我们可以使用矩阵乘法的定义直接验证这一点:
3 运算和属性
在本节中,我们介绍矩阵和向量的几种运算和属性。 希望能够为您复习大量此类内容,这些笔记可以作为这些主题的参考。
3.1 单位矩阵和对角矩阵
单位矩阵,,它是一个方阵,对角线的元素是1,其余元素都是0:
对于所有,有:
注意,在某种意义上,单位矩阵的表示法是不明确的,因为它没有指定的维数。通常,的维数是从上下文推断出来的,以便使矩阵乘法成为可能。 例如,在上面的等式中,中的I是矩阵,而中的是矩阵。
对角矩阵是一种这样的矩阵:对角线之外的元素全为0。对角阵通常表示为:,其中:
很明显:单位矩阵。
3.2 转置
矩阵的转置是指翻转矩阵的行和列。
给定一个矩阵:
, 它的转置为的矩阵 ,其中的元素为:
事实上,我们在描述行向量时已经使用了转置,因为列向量的转置自然是行向量。
转置的以下属性很容易验证:
3.3 对称矩阵
如果,则矩阵是对称矩阵。 如果,它是反对称的。 很容易证明,对于任何矩阵,矩阵是对称的,矩阵是反对称的。 由此得出,任何方矩阵可以表示为对称矩阵和反对称矩阵的和,所以:
上面公式的右边的第一个矩阵是对称矩阵,而第二个矩阵是反对称矩阵。 事实证明,对称矩阵在实践中用到很多,它们有很多很好的属性,我们很快就会看到它们。
通常将大小为的所有对称矩阵的集合表示为,因此意味着是对称的矩阵;
3.4 矩阵的迹
方矩阵的迹,表示为(或者只是,如果括号显然是隐含的),是矩阵中对角元素的总和:
如CS229讲义中所述,迹具有以下属性(如下所示):
- 对于矩阵,则:
- 对于矩阵,则:
- 对于矩阵,,则:.
- 对于矩阵 , , 为方阵, 则:
- 对于矩阵 , , , 为方阵, 则:, 同理,更多矩阵的积也是有这个性质。
作为如何证明这些属性的示例,我们将考虑上面给出的第四个属性。 假设和(因此是方阵)。 观察到也是一个方阵,因此对它们进行迹的运算是有意义的。 要证明,请注意:
这里,第一个和最后两个等式使用迹运算符和矩阵乘法的定义,重点在第四个等式,使用标量乘法的可交换性来反转每个乘积中的项的顺序,以及标量加法的可交换性和相关性,以便重新排列求和的顺序。
3.5 范数
向量的范数是非正式度量的向量的“长度” 。 例如,我们有常用的欧几里德或范数,
注意:
更正式地,范数是满足4个属性的函数():
- 对于所有的 , (非负).
- 当且仅当 时, (明确性).
- 对于所有,,则 (正齐次性).
- 对于所有 , (三角不等式)
其他范数的例子是范数:
和范数:
事实上,到目前为止所提出的所有三个范数都是范数族的例子,它们由实数参数化,并定义为:
也可以为矩阵定义范数,例如Frobenius范数:
许多其他更多的范数,但它们超出了这个复习材料的范围。
3.6 线性相关性和秩
一组向量, 如果没有向量可以表示为其余向量的线性组合,则称称该向量是线性无相关的。 相反,如果属于该组的一个向量可以表示为其余向量的线性组合,则称该向量是线性相关的。 也就是说,如果:
对于某些标量值,要么向量是线性相关的; 否则,向量是线性无关的。 例如,向量:
是线性相关的,因为:。
矩阵的列秩是构成线性无关集合的的最大列子集的大小。 由于术语的多样性,这通常简称为的线性无关列的数量。同样,行秩是构成线性无关集合的的最大行数。 对于任何矩阵,事实证明的列秩等于的行秩(尽管我们不会证明这一点),因此两个量统称为的秩,用 表示。 以下是秩的一些基本属性:
- 对于 ,,如果,则: 被称作满秩。
- 对于 ,
- 对于 , ,
- 对于 ,
3.7 方阵的逆
方阵的倒数表示为,并且是这样的独特矩阵:
请注意,并非所有矩阵都具有逆。 例如,非方形矩阵根据定义没有逆。 然而,对于一些方形矩阵,可能仍然存在可能不存在的情况。 特别是,如果存在,我们说是可逆的或非奇异的,否则就是不可逆或奇异的。
为了使方阵A具有逆,则必须是满秩。 我们很快就会发现,除了满秩之外,还有许多其它的充分必要条件。
以下是逆的属性; 假设,而且是非奇异的:
- 因此,该矩阵通常表示为。
作为如何使用逆的示例,考虑线性方程组,,其中,, 如果是非奇异的(即可逆的),那么。 (如果不是方阵,这公式还有用吗?)
3.8 正交阵
如果 ,则两个向量 是正交的。如果,则向量 被归一化。如果一个方阵的所有列彼此正交并被归一化(这些列然后被称为正交),则方阵是正交阵(注意在讨论向量时的意义不一样)。
它可以从正交性和正态性的定义中得出:
换句话说,正交矩阵的逆是其转置。 注意,如果不是方阵 :即,, ,但其列仍然是正交的,则,但是。我们通常只使用术语"正交"来描述先前的情况 ,其中是方阵。
正交矩阵的另一个好的特性是在具有正交矩阵的向量上操作不会改变其欧几里德范数,即:
对于任何 , 是正交的。
3.9 矩阵的值域和零空间
一组向量是可以表示为的线性组合的所有向量的集合。 即:
可以证明,如果是一组个线性无关的向量,其中每个,则。 换句话说,任何向量都可以写成到的线性组合。
向量投影到(这里我们假设)得到向量,由欧几里德范数可以得知,这样尽可能接近。
我们将投影表示为,并且可以将其正式定义为:
矩阵的值域(有时也称为列空间),表示为,是列的跨度。换句话说,
做一些技术性的假设(即是满秩且),向量到的范围的投影由下式给出:
这个最后的方程应该看起来非常熟悉,因为它几乎与我们在课程中(我们将很快再次得出)得到的公式:用于参数的最小二乘估计一样。 看一下投影的定义,显而易见,这实际上是我们在最小二乘问题中最小化的目标(除了范数的平方这里有点不一样,这不会影响找到最优解),所以这些问题自然是非常相关的。
当只包含一列时,,这给出了向量投影到一条线上的特殊情况:
一个矩阵的零空间 是所有乘以时等于0向量的集合,即:
注意,中的向量的大小为,而 中的向量的大小为,因此和 中的向量的大小均为。 事实上,还有很多例子。 证明:
换句话说,和 是不相交的子集,它们一起跨越的整个空间。 这种类型的集合称为正交补,我们用表示。
3.10 行列式
一个方阵的行列式是函数:,并且表示为。 或者(有点像迹运算符,我们通常省略括号)。 从代数的角度来说,我们可以写出一个关于行列式的显式公式。 因此,我们首先提供行列式的几何解释,然后探讨它的一些特定的代数性质。
给定一个矩阵:
考虑通过采用行向量的所有可能线性组合形成的点的集合,其中线性组合的系数都在0和1之间; 也就是说,集合是受到系数的限制的线性组合,满足。从形式上看,
事实证明,的行列式的绝对值是对集合的“体积”的度量。
比方说:一个的矩阵(4):
它的矩阵的行是:
对应于这些行对应的集合如图1所示。对于二维矩阵,通常具有平行四边形的形状。 在我们的例子中,行列式的值是(可以使用本节后面显示的公式计算),因此平行四边形的面积为7。(请自己验证!)
在三维中,集合对应于一个称为平行六面体的对象(一个有倾斜边的三维框,这样每个面都有一个平行四边形)。行定义的矩阵S的行列式的绝对值给出了平行六面体的三维体积。在更高的维度中,集合是一个称为维平行切的对象。

图1:(4)中给出的矩阵的行列式的图示。 这里,和是对应于行的向量,并且集合对应于阴影区域(即,平行四边形)。 这个行列式的绝对值,,即平行四边形的面积。
在代数上,行列式满足以下三个属性(所有其他属性都遵循这些属性,包括通用公式):
- 恒等式的行列式为1, (几何上,单位超立方体的体积为1)。
- 给定一个矩阵 , 如果我们将中的一行乘上一个标量,那么新矩阵的行列式是
几何上,将集合的一个边乘以系数,体积也会增加一个系数。
- 如果我们交换任意两行在和,那么新矩阵的行列式是,例如:
你一定很奇怪,满足上述三个属性的函数的存在并不多。事实上,这样的函数确实存在,而且是唯一的(我们在这里不再证明了)。
从上述三个属性中得出的几个属性包括:
- 对于 ,
- 对于 ,
- 对于 , 有且只有当是奇异的(比如不可逆) ,则:
- 对于 同时,为非奇异的,则:
在给出行列式的一般定义之前,我们定义,对于,是由于删除第行和第列而产生的矩阵。 行列式的一般(递归)公式是:
对于 ,初始情况为。如果我们把这个公式完全展开为 ,就等于(阶乘)不同的项。因此,对于大于的矩阵,我们几乎没有明确地写出完整的行列式方程。然而,大小的矩阵的行列式方程是相当常见的,建议好好地了解它们:
矩阵的经典伴随矩阵(通常称为伴随矩阵)表示为,并定义为:
(注意索引中的变化)。可以看出,对于任何非奇异,
虽然这是一个很好的“显式”的逆矩阵公式,但我们应该注意,从数字上讲,有很多更有效的方法来计算逆矩阵。
3.11 二次型和半正定矩阵
给定方矩阵和向量,标量值被称为二次型。 写得清楚些,我们可以看到:
注意:
第一个等号的是因为是标量的转置与自身相等,而第二个等号是因为是我们平均两个本身相等的量。 由此,我们可以得出结论,只有的对称部分有助于形成二次型。 出于这个原因,我们经常隐含地假设以二次型出现的矩阵是对称阵。
我们给出以下定义:
- 对于所有非零向量,,对称阵为正定(positive definite,PD)。这通常表示为(或),并且通常将所有正定矩阵的集合表示为。
- 对于所有向量,对称矩阵是半正定(positive semidefinite ,PSD)。 这写为(或仅),并且所有半正定矩阵的集合通常表示为。
- 同样,对称矩阵是负定(negative definite,ND),如果对于所有非零,则表示为(或)。
- 类似地,对称矩阵是半负定(negative semidefinite,NSD),如果对于所有,则表示为(或)。
- 最后,对称矩阵是不定的,如果它既不是正半定也不是负半定,即,如果存在,那么且。
很明显,如果是正定的,那么是负定的,反之亦然。同样,如果是半正定的,那么是是半负定的,反之亦然。如果果是不定的,那么是也是不定的。
正定矩阵和负定矩阵的一个重要性质是它们总是满秩,因此是可逆的。为了了解这是为什么,假设某个矩阵不是满秩。然后,假设的第列可以表示为其他列的线性组合:
对于某些。设,则:
但这意味着对于某些非零向量,,因此必须既不是正定也不是负定。如果是正定或负定,则必须是满秩。
最后,有一种类型的正定矩阵经常出现,因此值得特别提及。 给定矩阵(不一定是对称或偶数平方),矩阵(有时称为Gram矩阵)总是半正定的。 此外,如果(同时为了方便起见,我们假设是满秩),则是正定的。
3.12 特征值和特征向量
给定一个方阵,我们认为在以下条件下,是的特征值,是相应的特征向量:
直观地说,这个定义意味着将乘以向量会得到一个新的向量,该向量指向与相同的方向,但按系数缩放。值得注意的是,对于任何特征向量和标量,,也是一个特征向量。因此,当我们讨论与相关的特征向量时,我们通常假设特征向量被标准化为长度为1(这仍然会造成一些歧义,因为和都是特征向量,但我们必须接受这一点)。
我们可以重写上面的等式来说明是的特征值和特征向量的组合:
但是只有当有一个非空零空间时,同时是奇异的,才具有非零解,即:
现在,我们可以使用行列式的先前定义将表达式扩展为中的(非常大的)多项式,其中,的度为。它通常被称为矩阵的特征多项式。
然后我们找到这个特征多项式的(可能是复数)根,并用表示。这些都是矩阵的特征值,但我们注意到它们可能不明显。为了找到特征值对应的特征向量,我们只需解线性方程,因为是奇异的,所以保证有一个非零解(但也可能有多个或无穷多个解)。
应该注意的是,这不是实际用于数值计算特征值和特征向量的方法(记住行列式的完全展开式有项),这是一个数学上的争议。
以下是特征值和特征向量的属性(所有假设在具有特征值的前提下):
的迹等于其特征值之和
的行列式等于其特征值的乘积
的秩等于的非零特征值的个数
假设非奇异,其特征值为和特征向量为。那么是具有相关特征向量的的特征值,即。(要证明这一点,取特征向量方程,,两边都左乘)
对角阵的特征值,实际上就是对角元素,
3.13 对称矩阵的特征值和特征向量
通常情况下,一般的方阵的特征值和特征向量的结构可以很细微地表示出来。
值得庆幸的是,在机器学习的大多数场景下,处理对称实矩阵就足够了,其处理的对称实矩阵的特征值和特征向量具有显着的特性。
在本节中,我们假设是实对称矩阵, 具有以下属性:
- 的所有特征值都是实数。 我们用用表示。
- 存在一组特征向量,,对于所有,是具有特征值和的特征向量。,是单位向量并且彼此正交。
设是包含作为列的正交矩阵:
设是包含作为对角线上的元素的对角矩阵。 使用2.3节的方程(2)中的矩阵 - 矩阵向量乘法的方法,我们可以验证:
考虑到正交矩阵满足,利用上面的方程,我们得到:
这种的新的表示形式为,通常称为矩阵的对角化。术语对角化是这样来的:通过这种表示,我们通常可以有效地将对称矩阵视为对角矩阵 , 这更容易理解。关于由特征向量定义的基础, 我们将通过几个例子详细说明。
背景知识:代表另一个基的向量。
任何正交矩阵定义了一个新的属于的基(坐标系),意义如下:对于任何向量都可以表示为,的线性组合,其系数为:
在第二个等式中,我们使用矩阵和向量相乘的方法。 实际上,这种是唯一存在的:
换句话说,向量可以作为向量的另一种表示,与定义的基有关。
“对角化”矩阵向量乘法。 通过上面的设置,我们将看到左乘矩阵可以被视为左乘以对角矩阵关于特征向量的基。 假设是一个向量,表示的基。设为矩阵向量积。现在让我们计算关于的基:
然后,再利用和方程,我们得到:
我们可以看到,原始空间中的左乘矩阵等于左乘对角矩阵相对于新的基,即仅将每个坐标缩放相应的特征值。
在新的基上,矩阵多次相乘也变得简单多了。例如,假设。根据的元素导出的分析形式,使用原始的基可能是一场噩梦,但使用新的基就容易多了:
“对角化”二次型。作为直接的推论,二次型也可以在新的基上简化。
(回想一下,在旧的表示法中,涉及一个项的和,而不是上面等式中的项。)利用这个观点,我们还可以证明矩阵的正定性完全取决于其特征值的符号:
- 如果所有的,则矩阵正定的,因为对于任意的,
- 如果所有的,则矩阵是为正半定,因为对于任意的,
- 同样,如果所有或,则矩阵分别为负定或半负定。
- 最后,如果同时具有正特征值和负特征值,比如λ和,那么它是不定的。这是因为如果我们让满足和,同时所有的,那么 ,我们让满足和,同时所有的,那么
特征值和特征向量经常出现的应用是最大化矩阵的某些函数。特别是对于矩阵,考虑以下最大化问题:
也就是说,我们要找到(范数1)的向量,它使二次型最大化。假设特征值的阶数为,此优化问题的最优值为,且与对应的任何特征向量都是最大值之一。(如果,那么有一个与特征值对应的唯一特征向量,它是上面那个优化问题的唯一最大值。)
我们可以通过使用对角化技术来证明这一点:注意,通过公式推出,并利用公式:
,我们可以将上面那个优化问题改写为:
然后,我们得到目标的上界为:
此外,设置可让上述等式成立,这与设置相对应。
4.矩阵微积分
虽然前面章节中的主题通常包含在线性代数的标准课程中,但似乎很少涉及(我们将广泛使用)的一个主题是微积分扩展到向量设置展。尽管我们使用的所有实际微积分都是相对微不足道的,但是符号通常会使事情看起来比实际困难得多。 在本节中,我们将介绍矩阵微积分的一些基本定义,并提供一些示例。
4.1 梯度
假设是将维度为的矩阵作为输入并返回实数值的函数。 然后的梯度(相对于)是偏导数矩阵,定义如下:
即,矩阵:
请注意,的维度始终与的维度相同。特殊情况,如果只是向量,则
重要的是要记住,只有当函数是实值时,即如果函数返回标量值,才定义函数的梯度。例如,相对于,我们不能取的梯度,因为这个量是向量值。
它直接从偏导数的等价性质得出:
- 对于 ,
原则上,梯度是偏导数对多变量函数的自然延伸。然而,在实践中,由于符号的原因,使用梯度有时是很困难的。例如,假设是一个固定系数矩阵,假设是一个固定系数向量。设为定义的函数,因此。但现在考虑表达式,
该表达式应该如何解释? 至少有两种可能性:
1.在第一个解释中,回想起。 在这里,我们将解释为评估点处的梯度,因此:
2.在第二种解释中,我们将数量视为输入变量的函数。 更正式地说,设。 然后在这个解释中:
在这里,我们可以看到这两种解释确实不同。 一种解释产生维向量作为结果,而另一种解释产生维向量作为结果! 我们怎么解决这个问题?
这里,关键是要明确我们要区分的变量。
在第一种情况下,我们将函数与其参数进行区分,然后替换参数。
在第二种情况下,我们将复合函数直接与进行微分。
我们将第一种情况表示为,第二种情况表示为。
保持符号清晰是非常重要的,以后完成课程作业时候你就会发现。
4.2 黑塞矩阵
假设是一个函数,它接受中的向量并返回实数。那么关于的黑塞矩阵(也有翻译作海森矩阵),写做:,或者简单地说,是矩阵的偏导数:
换句话说,,其:
注意:黑塞矩阵通常是对称阵:
与梯度相似,只有当为实值时才定义黑塞矩阵。
很自然地认为梯度与向量函数的一阶导数的相似,而黑塞矩阵与二阶导数的相似(我们使用的符号也暗示了这种关系)。 这种直觉通常是正确的,但需要记住以下几个注意事项。
首先,对于一个变量的实值函数,它的基本定义:二阶导数是一阶导数的导数,即:
然而,对于向量的函数,函数的梯度是一个向量,我们不能取向量的梯度,即:
上面这个表达式没有意义。 因此,黑塞矩阵不是梯度的梯度。 然而,下面这种情况却这几乎是正确的:如果我们看一下梯度的第个元素,并取关于于的梯度我们得到:
这是黑塞矩阵第行(列),所以:
简单地说:我们可以说由于:,只要我们理解,这实际上是取的每个元素的梯度,而不是整个向量的梯度。
最后,请注意,虽然我们可以对矩阵取梯度,但对于这门课,我们只考虑对向量取黑塞矩阵。
这会方便很多(事实上,我们所做的任何计算都不要求我们找到关于矩阵的黑森方程),因为关于矩阵的黑塞方程就必须对矩阵所有元素求偏导数,将其表示为矩阵相当麻烦。
4.3 二次函数和线性函数的梯度和黑塞矩阵
现在让我们尝试确定几个简单函数的梯度和黑塞矩阵。 应该注意的是,这里给出的所有梯度都是CS229讲义中给出的梯度的特殊情况。
对于, 设 的某些已知向量 ,则:
所以:
由此我们可以很容易地看出。 这应该与单变量微积分中的类似情况进行比较,其中。
现在考虑的二次函数。 记住这一点:
为了取偏导数,我们将分别考虑包括和因子的项:
最后一个等式,是因为是对称的(我们可以安全地假设,因为它以二次形式出现)。 注意,的第个元素是和的第行的内积。 因此,。 同样,这应该提醒你单变量微积分中的类似事实,即。
最后,让我们来看看二次函数黑塞矩阵(显然,线性函数的黑塞矩阵为零)。在这种情况下:
因此,应该很清楚,这应该是完全可以理解的(同样类似于的单变量事实)。
简要概括起来:
-
- (如果是对称阵)
- (如果是对称阵)
4.4 最小二乘法
让我们应用上一节中得到的方程来推导最小二乘方程。假设我们得到矩阵(为了简单起见,我们假设是满秩)和向量,从而使。在这种情况下,我们将无法找到向量,由于,因此我们想要找到一个向量,使得尽可能接近 ,用欧几里德范数的平方来衡量。
使用公式,我们可以得到:
根据的梯度,并利用上一节中推导的性质:
将最后一个表达式设置为零,然后解出,得到了正规方程:
这和我们在课堂上得到的相同。
4.5 行列式的梯度
现在让我们考虑一种情况,我们找到一个函数相对于矩阵的梯度,也就是说,对于,我们要找到。回想一下我们对行列式的讨论:
所以:
从这里可以知道,它直接从伴随矩阵的性质得出:
现在我们来考虑函数,。注意,我们必须将的域限制为正定矩阵,因为这确保了,因此的对数是实数。在这种情况下,我们可以使用链式法则(没什么奇怪的,只是单变量演算中的普通链式法则)来看看:
从这一点可以明显看出:
我们可以在最后一个表达式中删除转置,因为是对称的。注意与单值情况的相似性,其中。
4.6 特征值优化
最后,我们使用矩阵演算以直接导致特征值/特征向量分析的方式求解优化问题。 考虑以下等式约束优化问题:
对于对称矩阵。求解等式约束优化问题的标准方法是采用拉格朗日形式,一种包含等式约束的目标函数,在这种情况下,拉格朗日函数可由以下公式给出:
其中,被称为与等式约束关联的拉格朗日乘子。可以确定,要使成为问题的最佳点,拉格朗日的梯度必须在处为零(这不是唯一的条件,但它是必需的)。也就是说,
请注意,这只是线性方程。 这表明假设,可能最大化(或最小化)的唯一点是的特征向量。
CS229 概率论
概率论复习和参考
概率论是对不确定性的研究。通过这门课,我们将依靠概率论中的概念来推导机器学习算法。这篇笔记试图涵盖适用于CS229的概率论基础。概率论的数学理论非常复杂,并且涉及到“分析”的一个分支:测度论。在这篇笔记中,我们提供了概率的一些基本处理方法,但是不会涉及到这些更复杂的细节。
1. 概率的基本要素
为了定义集合上的概率,我们需要一些基本元素,
样本空间:随机实验的所有结果的集合。在这里,每个结果 可以被认为是实验结束时现实世界状态的完整描述。
事件集(事件空间):元素 的集合(称为事件)是 的子集(即每个 是一个实验可能结果的集合)。
备注:需要满足以下三个条件:
(1)
(2)
(3)
概率度量:函数是一个的映射,满足以下性质:
- 对于每个 ,,
- 如果 是互不相交的事件 (即 当时, ), 那么:
以上三条性质被称为概率公理。
举例:
考虑投掷六面骰子的事件。样本空间为,,,,,。最简单的事件空间是平凡事件空间.另一个事件空间是的所有子集的集合。对于第一个事件空间,满足上述要求的唯一概率度量由,给出。对于第二个事件空间,一个有效的概率度量是将事件空间中每个事件的概率分配为,这里 是这个事件集合中元素的数量;例如,。
性质:
- 如果,则:
- (布尔不等式):
- (全概率定律):如果,,是一些互不相交的事件并且它们的并集是,那么它们的概率之和是1
1.1 条件概率和独立性
假设是一个概率非0的事件,我们定义在给定的条件下 的条件概率为:
换句话说,)是度量已经观测到事件发生的情况下事件发生的概率,两个事件被称为独立事件当且仅当(或等价地,)。因此,独立性相当于是说观察到事件对于事件的概率没有任何影响。
2. 随机变量
考虑一个实验,我们翻转10枚硬币,我们想知道正面硬币的数量。这里,样本空间的元素是长度为10的序列。例如,我们可能有,,,,,,,,,。然而,在实践中,我们通常不关心获得任何特定正反序列的概率。相反,我们通常关心结果的实值函数,比如我们10次投掷中出现的正面数,或者最长的背面长度。在某些技术条件下,这些函数被称为随机变量。
更正式地说,随机变量是一个的函数。通常,我们将使用大写字母或更简单的(其中隐含对随机结果的依赖)来表示随机变量。我们将使用小写字母来表示随机变量的值。
举例:
在我们上面的实验中,假设是在投掷序列中出现的正面的数量。假设投掷的硬币只有10枚,那么只能取有限数量的值,因此它被称为离散随机变量。这里,与随机变量相关联的集合取某个特定值的概率为:
举例:
假设是一个随机变量,表示放射性粒子衰变所需的时间。在这种情况下,具有无限多的可能值,因此它被称为连续随机变量。我们将在两个实常数和之间取值的概率(其中)表示为:
2.1 累积分布函数
为了指定处理随机变量时使用的概率度量,通常可以方便地指定替代函数(CDF、PDF和PMF),在本节和接下来的两节中,我们将依次描述这些类型的函数。
累积分布函数(CDF)是函数,它将概率度量指定为:
通过使用这个函数,我们可以计算任意事件发生的概率。图1显示了一个样本CDF函数。
\Data-Science-Notes-master\0.math\1.CS229\markdown\c89fd93c5d6dccce89762d57fcd66dac.png)
图1:一个累计分布函数(CDF)性质:
2.2 概率质量函数
当随机变量取有限种可能值(即,是离散随机变量)时,表示与随机变量相关联的概率度量的更简单的方法是直接指定随机变量可以假设的每个值的概率。特别地,概率质量函数(PMF)是函数 ,这样:
在离散随机变量的情况下,我们使用符号表示随机变量可能假设的一组可能值。例如,如果是一个随机变量,表示十次投掷硬币中的正面数,那么,,,,。
性质:
2.3 概率密度函数
对于一些连续随机变量,累积分布函数处可微。在这些情况下,我们将概率密度函数(PDF)定义为累积分布函数的导数,即:
请注意,连续随机变量的概率密度函数可能并不总是存在的(即,如果它不是处处可微)。
根据微分的性质,对于很小的,
CDF和PDF(当它们存在时!)都可用于计算不同事件的概率。但是应该强调的是,任意给定点的概率密度函数(PDF)的值不是该事件的概率,即。例如,可以取大于1的值(但是在的任何子集上的积分最多为1)。
性质:
2.4 期望
假设是一个离散随机变量,其PMF为 ,是一个任意函数。在这种情况下,可以被视为随机变量,我们将的期望值定义为:
如果是一个连续的随机变量,其PDF 为,那么的期望值被定义为:
直觉上,的期望值可以被认为是对于不同的值可以取的值的“加权平均值”,其中权重由或给出。作为上述情况的特例,请注意,随机变量本身的期望值,是通过令得到的,这也被称为随机变量的平均值。
性质:
- 对于任意常数 ,
- 对于任意常数 ,
- (线性期望):
- 对于一个离散随机变量,
2.5 方差
随机变量的方差是随机变量的分布围绕其平均值集中程度的度量。形式上,随机变量的方差定义为:
使用上一节中的性质,我们可以导出方差的替代表达式:
其中第二个等式来自期望的线性,以及相对于外层期望实际上是常数的事实。
性质:
- 对于任意常数 ,
- 对于任意常数 ,
举例:
计算均匀随机变量的平均值和方差,任意,,其PDF为 ,其他地方为0。
举例:
假设对于一些子集,有,计算?
离散情况:
连续情况:
2.6 一些常见的随机变量
离散随机变量
连续随机变量
- 均匀分布:在和之间每个点概率密度相等的分布(其中:)。
- 指数分布:在非负实数上有衰减的概率密度(其中:)。
一些随机变量的概率密度函数和累积分布函数的形状如图2所示。
\Data-Science-Notes-master\0.math\1.CS229\markdown\b958c16cfdce9e6bd2b810b10d71416e.png)
图2:一些随机变量的概率密度函数(PDF)和累积分布函数(CDF)下表总结了这些分布的一些特性:
| 分布 | 概率密度函数(PDF)或者概率质量函数(PMF) | 均值 | 方差 |
|---|
| (伯努利分布) | | | |
| (二项式分布) | 其中: | | |
| (几何分布) | 其中: | | |
| (泊松分布) | 其中: | | |
| (均匀分布) | 存在 | | |
| (高斯分布) | | | |
| (指数分布) | | | |
3. 两个随机变量
到目前为止,我们已经考虑了单个随机变量。然而,在许多情况下,在随机实验中,我们可能有不止一个感兴趣的量。例如,在一个我们掷硬币十次的实验中,我们可能既关心出现的正面数量,也关心连续最长出现正面的长度。在本节中,我们考虑两个随机变量的设置。
3.1 联合分布和边缘分布
假设我们有两个随机变量,一个方法是分别考虑它们。如果我们这样做,我们只需要和。但是如果我们想知道在随机实验的结果中,和同时假设的值,我们需要一个更复杂的结构,称为和的联合累积分布函数,定义如下:
可以证明,通过了解联合累积分布函数,可以计算出任何涉及到和的事件的概率。
联合CDF: 和每个变量的联合分布函数和分别由下式关联:
这里我们称和为 的边缘累积概率分布函数。
性质:
3.2 联合概率和边缘概率质量函数
如果和是离散随机变量,那么联合概率质量函数 由下式定义:
这里, 对于任意,,, 并且
两个变量上的联合PMF分别与每个变量的概率质量函数有什么关系?事实上:
对于类似。在这种情况下,我们称为的边际概率质量函数。在统计学中,将一个变量相加形成另一个变量的边缘分布的过程通常称为“边缘化”。
3.3 联合概率和边缘概率密度函数
假设和是两个连续的随机变量,具有联合分布函数。在在和中处处可微的情况下,我们可以定义联合概率密度函数:
如同在一维情况下,,而是:
请注意,概率密度函数的值总是非负的,但它们可能大于1。尽管如此,可以肯定的是
与离散情况相似,我们定义:
作为的边际概率密度函数(或边际密度),对于也类似。
3.4 条件概率分布
条件分布试图回答这样一个问题,当我们知道必须取某个值时,上的概率分布是什么?在离散情况下,给定的条件概率质量函数是简单的:
假设分母不等于0。
在连续的情况下,在技术上要复杂一点,因为连续随机变量的概率等于零。忽略这一技术点,我们通过类比离散情况,简单地定义给定的条件概率密度为:
假设分母不等于0。
3.5 贝叶斯定理
当试图推导一个变量给定另一个变量的条件概率表达式时,经常出现的一个有用公式是贝叶斯定理。
对于离散随机变量和:
对于连续随机变量和:
3.6 独立性
如果对于和的所有值,,则两个随机变量和是独立的。等价地,
- 对于离散随机变量, 对于任意, ,。
- 对于离散随机变量, 当对于任意且。
- 对于连续随机变量, 对于任意 。
- 对于连续随机变量, ,当对于任意。
非正式地说,如果“知道”一个变量的值永远不会对另一个变量的条件概率分布有任何影响,那么两个随机变量和是独立的,也就是说,你只要知道和就知道关于这对变量,的所有信息。以下引理将这一观察形式化:
引理3.1
如果和是独立的,那么对于任何,,我们有:
利用上述引理,我们可以证明如果与无关,那么的任何函数都与的任何函数无关。
3.7 期望和协方差
假设我们有两个离散的随机变量,并且是这两个随机变量的函数。那么的期望值以如下方式定义:
对于连续随机变量,,类似的表达式是:
我们可以用期望的概念来研究两个随机变量之间的关系。特别地,两个随机变量的协方差定义为:
使用类似于方差的推导,我们可以将它重写为:
在这里,说明两种协方差形式相等的关键步骤是第三个等号,在这里我们使用了这样一个事实,即和实际上是常数,可以被提出来。当,时,我们说和不相关。
性质:
- (期望线性)
- 如果和相互独立, 那么
- 如果和相互独立, 那么 .
4. 多个随机变量
上一节介绍的概念和想法可以推广到两个以上的随机变量。特别是,假设我们有个连续随机变量,。在本节中,为了表示简单,我们只关注连续的情况,对离散随机变量的推广工作类似。
4.1 基本性质
我们可以定义的联合累积分布函数、联合概率密度函数,以及给定时的边缘概率密度函数为:
为了计算事件的概率,我们有:
链式法则:
从多个随机变量的条件概率的定义中,可以看出:
独立性:对于多个事件,,我们说 是相互独立的,当对于任何子集,,我们有:
同样,我们说随机变量是独立的,如果:
这里,相互独立性的定义只是两个随机变量独立性到多个随机变量的自然推广。
独立随机变量经常出现在机器学习算法中,其中我们假设属于训练集的训练样本代表来自某个未知概率分布的独立样本。为了明确独立性的重要性,考虑一个“坏的”训练集,我们首先从某个未知分布中抽取一个训练样本,然后将完全相同的训练样本的个副本添加到训练集中。在这种情况下,我们有:
尽管训练集的大小为,但这些例子并不独立!虽然这里描述的过程显然不是为机器学习算法建立训练集的明智方法,但是事实证明,在实践中,样本的不独立性确实经常出现,并且它具有减小训练集的“有效大小”的效果。
4.2 随机向量
假设我们有n个随机变量。当把所有这些随机变量放在一起工作时,我们经常会发现把它们放在一个向量中是很方便的...我们称结果向量为随机向量(更正式地说,随机向量是从到的映射)。应该清楚的是,随机向量只是处理个随机变量的一种替代符号,因此联合概率密度函数和综合密度函数的概念也将适用于随机向量。
期望:
考虑中的任意函数。这个函数的期望值 被定义为
其中,是从到的个连续积分。如果是从到的函数,那么的期望值是输出向量的元素期望值,即,如果是:
那么,
协方差矩阵:对于给定的随机向量,其协方差矩阵是平方矩阵,其输入由给出。从协方差的定义来看,我们有:
其中矩阵期望以明显的方式定义。
协方差矩阵有许多有用的属性:
- ;也就是说,是正半定的。
- ;也就是说,是对称的。
4.3 多元高斯分布
随机向量上概率分布的一个特别重要的例子叫做多元高斯或多元正态分布。随机向量被认为具有多元正态(或高斯)分布,当其具有均值和协方差矩阵(其中指对称正定矩阵的空间)
我们把它写成。请注意,在的情况下,它降维成普通正态分布,其中均值参数为,方差为。
一般来说,高斯随机变量在机器学习和统计中非常有用,主要有两个原因:
首先,在统计算法中对“噪声”建模时,它们非常常见。通常,噪声可以被认为是影响测量过程的大量小的独立随机扰动的累积;根据中心极限定理,独立随机变量的总和将趋向于“看起来像高斯”。
其次,高斯随机变量便于许多分析操作,因为实际中出现的许多涉及高斯分布的积分都有简单的封闭形式解。我们将在本课程稍后遇到这种情况。
5. 其他资源
一本关于CS229所需概率水平的好教科书是谢尔顿·罗斯的《概率第一课》(A First Course on Probability by Sheldon Ross)。